<?php

namespace app\admin\controller;


use app\common\base\Form;
use app\common\model\Admin;
use think\Controller;
use think\Error;
use think\Session;

class AuthController extends Controller {


    /**
     * 登陆接口
     * @return \think\response\Json
     */
    public function Login() {

        Form::Validate([
            'username' => 'require',
            'password' => 'require',
        ]);

        // 获取数据
        $username = input('username');
        $password = input('password');

        // 对密码做编码
        $password = md5($password);

        // 获取用户
        $user = Admin::GetByUsername($username);
        if (!$user || $user['password'] !== $password) {
            return Error('用户名或密码错误');
        }
        // 去掉密码字段
        unset($user['password']);

        // 设置Session
        Session::set('admin', $user);

        return Success('登录成功');
    }


    /**
     * 登出管理员接口
     * @return \think\response\Json
     */
    public function Logout() {

        Session::delete('admin');

        return Success('登出成功');

    }


    /**
     * 查询登陆状态接口
     * @return \think\response\Json
     */
    public function LoginStatus() {

        if (Session::has('admin')) {
            return Success('', Session::get('admin'));
        } else {
            return Error();
        }

    }

}